Function.prototype.my_apply = function(context, args) {
    if (typeof this !== 'function') throw new TypeError('error')
    context = context || 'window'
    let fn = Symbol('fn')
    context[fn] = this //context.fn = this 
    const res = context[fn](...args)
    delete context[fn]
    return res
}